// 引入 sqlite3 模块
const sqlite3 = require('sqlite3');
// 引入路径处理模块
const path = require('path');

// 获取当前运行目录下的 data.db 文件
const dbName = path.join(__dirname, 'data.db');
// 打开数据库
const db = new sqlite3.Database(dbName, err => {
    if (err !== null) console.log(err);  // 输出错误信息
});

const sql = `
CREATE TABLE user (
  id INTEGER PRIMARY KEY,
  user_name VARCHAR (30) NOT NULL,
  age TINYINT (3) NOT NULL DEFAULT 0
)`;
// 创建表格
// db.run(sql, function (err) {
//     // 如果出现错误就输出错误信息
//     if (err) console.log(err);
// });

db.run('INSERT INTO user (user_name, age) VALUES (?, ?)', ['Mark', 28], function (err) {
    if (err) console.log(err);  // 如果有错误就输出错误信息
    console.log(this.changes);  // 输出受影响的行数
    console.log(this.lastID);   // 输出 lastID
});

db.run('UPDATE user SET user_name = $newName WHERE user_name = $userName', {
    $userName: 'Mark',
    $newName: 'Jack'
}, function (err) {
    if (err) console.log(err);  // 如果有错误就输出错误信息
    console.log(this.changes);  // 输出受影响的行数
    console.log(this.lastID);  // 输出 lastID
});

db.all('SELECT id, user_name, age FROM user', (err, rows) => {
    if (err) console.log(err);  // 如果出现错误就输出错误信息
    console.log(rows);  // 输出查询结果
});

db.all('SELECT id, user_name, age FROM user WHERE user_name = ?', ['Steve'], (err, rows) => {
    if (err) console.log(err);  // 如果出现错误就输出错误信息
    console.log(rows);  // 输出查询结果
});

db.get('SELECT id, user_name, age FROM user ', (err, row) => {
    if (err) console.log(err);
    console.log("========SELECT id, user_name, age FROM user=========", row);
});

db.close(err => {
    if (err) {
        console.log('err---------------->',err);
    }
});